Instant messaging (IM) is a type of communication that offers real-time text transmission over a network, such as the internet. Short messages including one or both of text and images are typically transmitted bi-directionally between two parties. Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. Instant messaging systems tend to facilitate connections between specified known users (often using a contact list also known as a “buddy list” or “friend list”). Depending on the IM protocol, the technical architecture can be peer-to-peer (i.e., direct point-to-point transmission) or client-server (i.e., where a central server retransmits messages from the sender to the communication device). More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over Internet Protocol (VoIP), or video chat functionality.